Uitwisselprofiel NZa basisinformatie kostenonderzoek

Over Uitwisselprofiel NZa basisinformatie kostenonderzoek

1.1.2-pilot


Publicatiedatum:
06-03-2025

Inwerkingtreding:
06-03-2025

3.2. Gemiddeld bruto jaarsalaris per fte

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: NZA 3.2
2# Parameters: ?startperiode, ?eindperiode
3# Ontologie: versie 3.0 of nieuwer
4
5PREFIX onz-g: <http://purl.org/ozo/onz-g#>
6PREFIX onz-fin: <http://purl.org/ozo/onz-fin#>
7PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
8PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
9PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
10PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
11PREFIX time: <http://www.w3.org/2006/time#>
12
13
14SELECT ?teller ?noemer (?teller / ?noemer AS ?indicator)
15WHERE 
16{
17    {
18    SELECT ( SUM(?geld_bedrag) AS ?teller ) 
19    WHERE 
20    {
21        BIND ("2024-01-01"^^xsd:date AS ?startperiode)
22        BIND ("2024-12-31"^^xsd:date AS ?eindperiode)
23        VALUES ?rubriek { 
24            onz-fin:WPerSol
25            onz-fin:WPerLes
26            
27            onz-fin:411000
28            onz-fin:411100
29            onz-fin:411200
30            onz-fin:411300
31            onz-fin:411400
32            onz-fin:411500
33            onz-fin:411600
34            onz-fin:411700
35            onz-fin:412000
36            onz-fin:412100
37            onz-fin:412200
38            onz-fin:412300
39            onz-fin:412400
40            onz-fin:412500
41            onz-fin:413000
42            onz-fin:413100
43            onz-fin:413200
44            onz-fin:413300
45            onz-fin:413400
46            onz-fin:413500
47            onz-fin:413600
48            onz-fin:413610
49            onz-fin:413620
50            onz-fin:413700
51            onz-fin:414000
52            onz-fin:414100
53            onz-fin:414101
54            onz-fin:414102
55            onz-fin:414103
56            onz-fin:414104
57            onz-fin:414110
58            onz-fin:414111
59            onz-fin:414112
60            onz-fin:414113
61            onz-fin:414114
62            onz-fin:414200
63            onz-fin:414202
64            onz-fin:414203
65            onz-fin:414204
66            onz-fin:414300
67            onz-fin:414500
68            onz-fin:414503
69            onz-fin:414504
70            onz-fin:414700
71            onz-fin:414800
72            onz-fin:415000
73            onz-fin:422100
74            onz-fin:422300
75            onz-fin:422400
76            onz-fin:422410
77            onz-fin:422500
78            onz-fin:422600
79            onz-fin:422900
80            }
81            ?post onz-g:partOf ?rubriek .   
82
83        ?post a onz-fin:Grootboekpost ;
84            onz-g:hasDate ?datum ;
85            onz-fin:heeftGeldBedrag ?geld_bedrag .
86
87        FILTER (?datum >= ?startperiode && ?datum <= ?eindperiode)
88        }
89    }
90    {
91    SELECT (SUM(?subtotaal) as ?noemer)
92    WHERE 
93        {
94        SELECT (SUM(?omvang_factor_corr) as ?subtotaal)
95        WHERE
96        { 
97            # definieer periode waarin overeenkomst geldig moet zijn
98            BIND ("2024-01-01"^^xsd:date AS ?startperiode)
99            BIND ("2024-12-31"^^xsd:date AS ?eindperiode)
100
101            # Selecteer alle personeelsleden met een overeenkomst binnen de meetperiode
102            ?overeenkomst 
103                a onz-pers:ArbeidsOvereenkomst ;
104                onz-g:hasPart ?overeenkomst_afspraak . 
105            ?overeenkomst_afspraak
106                a onz-pers:WerkOvereenkomstAfspraak ;                     
107                onz-g:startDatum ?start_overeenkomst .
108            OPTIONAL {?overeenkomst_afspraak onz-g:eindDatum ?eind_overeenkomst }
109            FILTER (?start_overeenkomst <= ?eindperiode && (!BOUND(?eind_overeenkomst) || ?eind_overeenkomst >= ?startperiode))
110            ?overeenkomst_afspraak onz-g:hasPart ?omvang .  
111            ?omvang
112                a onz-pers:ContractOmvang ;
113                onz-g:isAbout ?omvang_waarde .
114            ?omvang_waarde
115                a onz-pers:ContractOmvangWaarde ;
116                onz-g:hasDataValue ?omvang_waarde_getal ;
117                onz-g:hasUnitOfMeasure ?omvang_waarde_eenheid .
118            ?omvang_waarde_eenheid onz-g:hasDataValue ?omvang_eenheid_factor .  
119            BIND(?omvang_waarde_getal/(36/?omvang_eenheid_factor) AS ?ptf)
120            
121            # corrigeer wanneer start of eind van de contractomvang buiten de gevraagde periode valt
122            BIND(IF(?startperiode > ?start_overeenkomst, ?startperiode, ?start_overeenkomst) AS ?start_overeenkomst_corr)
123            BIND(IF(?eindperiode < ?eind_overeenkomst || !BOUND(?eind_overeenkomst), ?eindperiode, ?eind_overeenkomst) AS ?eind_overeenkomst_corr)
124            
125            # bereken aantal dagen in de periode
126            ?startperiode ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?startperiode_reken .
127            ?eindperiode ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eindperiode_reken .
128            BIND(?eindperiode_reken - ?startperiode_reken + 1 AS ?dagen_periode)
129            
130            # bereken aantal dagen overeenkomst
131            ?start_overeenkomst_corr ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_overeenkomst_reken .
132            ?eind_overeenkomst_corr ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_overeenkomst_reken .
133            BIND(?eind_overeenkomst_reken - ?start_overeenkomst_reken + 1 AS ?dagen_overeenkomst)
134            
135            BIND (?dagen_overeenkomst/?dagen_periode AS ?factor)
136            
137            # Bereken relevant deel van de omvangwaarde
138            BIND (?factor * ?ptf AS ?omvang_factor_corr)
139        } 
140        GROUP BY ?overeenkomst_afspraak 
141        }
142	}
143}